/* Chart editor styling */

@import "../public/fonts.css";
@import "bootstrap/scss/bootstrap";
@import "styles/react-tag-autocomplete";

@import "tippy.js/dist/tippy.css";
@import "tippy.js/themes/light.css";

@import "@react-awesome-query-builder/antd/css/styles.css";

@import "./GdocsIndexPage.scss";
@import "./FeaturedMetricsPage.scss";
@import "./FilesIndexPage.scss";
@import "./TagGraphPage.scss";
@import "./DodsIndexPage.scss";
@import "./SortableList.scss";
@import "./StaticViz.scss";

html {
    font-size: 14px;
    font-family:
        -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu,
        Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial,
        sans-serif;
}

html,
body {
    height: 100%;
    margin: 0;
}

button {
    border: none;
}

#app {
    height: 100%;
}

$nav-height: 45px;

.AdminApp {
    height: 100%;

    button,
    a,
    .btn,
    .form-group > label,
    .form-check > label {
        @extend .clickable;
    }

    .btn:disabled {
        cursor: default;
    }

    a.logout:hover:after {
        content: " (logout)";
    }

    .navbar {
        z-index: 3;
        font-size: 0.95rem;
    }

    // overriding bootstrap defaults that break the navbar buttons
    @media screen and (max-width: 992px) {
        .navbar.navbar-expand-lg {
            flex-wrap: nowrap;

            .navbar-nav {
                flex-direction: row;
            }

            .nav-link {
                padding: 7px;
            }
        }
    }

    .navbar-brand {
        font-size: 1.15rem;
    }

    .navbar-toggler {
        padding: 0.2rem 0.5rem;
        display: block;
        margin-right: 1rem;
    }

    .navbar span.dev {
        color: orange;
        font-size: 0.8em;
    }

    .navbar span.live {
        color: lightgreen;
        font-size: 0.8em;
    }

    .navbar span.test {
        color: lightpink;
        font-size: 0.8em;
    }

    section {
        h1 {
            font-size: 26px;
            font-weight: 700;
            line-height: 28px;
        }

        h3 {
            padding-bottom: 8px;
            margin-bottom: 16px;
        }

        .card-footer {
            border-radius: 0;
            border: 0;
            background: none;
            padding: 0;
        }

        > .btn {
            margin-right: 10px;
        }
    }

    section:not(:first-child) {
        margin-top: 40px;
    }
}

.AdminLayout {
    height: 100%;

    > nav {
        background-color: #001c3d;
        width: 100%;
        height: $nav-height;
    }

    > main {
        height: calc(100vh - $nav-height);
    }
}

.AdminLayout.withSidebar {
    padding-left: 160px;
}

.AdminLayout.fixedNav {
    padding-top: 45px;
    > nav {
        position: fixed;
        z-index: 2;
        top: 0;
    }
}

.AdminSidebar {
    position: fixed;
    left: 0;
    top: 0;
    width: 160px;
    height: 100%;

    overflow-y: auto;
    background: #222d32;

    ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    li.header {
        color: #4b646f;
        background: #1a2226;
        padding: 10px 25px 10px 15px;
        font-size: 12px;
    }

    li > a {
        padding: 12px 5px 12px 15px;
        display: block;
        color: #b8c7ce;
    }

    li > a.active {
        font-weight: bold;
        background: #1a2226;
    }

    li > a:hover {
        color: #fff;
        background: #1e282c;
        text-decoration: none;
    }
}

.EditorFAQ {
    .modal-dialog {
        max-width: 800px;
    }

    .modal-body {
        max-height: 80vh;
        overflow-y: scroll;
    }

    h6 {
        font-weight: bold;
    }

    h6:not(:first-child) {
        margin-top: 20px;
    }
}

.VariablesAnnotationPage {
    display: flex;
    flex-grow: 1;

    > .sidebar {
        min-width: 500px;
        width: 500px;
        min-height: 100%;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        > .sidebar-content {
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            align-items: stretch;
            overflow-y: auto;
            height: 100%;
            > .preview {
                flex: 0 0 auto;
                // min-height: 500px;
                border-top: 1px solid lightgray;
                padding-top: 5px;
            }
            > section {
                flex: 1 0 200px;
            }
        }
    }

    > .editor-view {
        width: 100%;
    }

    .column-list-item {
        padding: 3px;
        border: lightgray 1px solid;
        border-radius: 4px;

        .btn {
            margin-right: 0.5rem;
        }
    }

    .column-list-item + .column-list-item {
        margin-top: 4px;
    }

    .column-section {
        overflow-y: auto;
    }

    .query-builder {
        margin: 0;
        label {
            margin-left: 5px;
            margin-right: 5px;
        }
    }

    .rich-editor-confirm-buttons {
        margin-top: 0.5rem;

        button {
            margin-right: 0.5rem;
        }
    }
}

.ChartEditorPage {
    display: flex;
    flex-grow: 1;

    .btn-group .btn {
        width: 50px;
    }

    .form-group > label {
        margin-bottom: 0;
    }

    .nav-tabs :not(.active).nav-link {
        background: #f9f9f9;
    }

    .nav-tabs .nav-link {
        color: inherit;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    > .chart-editor-settings {
        min-width: 550px;
        width: 550px;
        min-height: 100%;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .innerForm {
        overflow-y: scroll;
        flex-grow: 1;
    }

    .SaveButtons {
        padding: 24px;
    }

    > .chart-editor-view {
        display: flex;
        flex-direction: column;
        flex-grow: 1;
        align-items: center;
        justify-content: center;
        position: relative;

        a.preview {
            position: absolute;
            top: 8px;
            right: 16px;
        }
    }

    section {
        padding: 1.2em;
        border-radius: 0.4em;
        margin-bottom: 1.2em;
        background-color: #f9f9f9;

        > h5 {
            padding-bottom: 0.5rem;
            border-bottom: 1px solid #ccc;
        }
    }

    figure[data-grapher-src],
    figure.grapher-component {
        line-height: 0; // remove extra space on the bottom
    }
}

.list-group {
    margin-top: 0;
    margin-bottom: 0.5em;
}

.catalog-path-field {
    pre {
        white-space: pre-wrap;
        overflow-wrap: anywhere;
        height: auto;
        background: #e9ecef;
    }
}

.EditorBasicTab {
    .DimensionCard {
        header {
            display: flex;
            color: #666;
            align-items: center;
            text-align: center;
            gap: 1em;
            justify-content: space-between;

            > div {
                display: flex;
                align-items: center;
                gap: 0.5em;
            }
        }

        > div {
            margin: 1em 0;
        }

        .dimensionLink {
            color: inherit;
            text-decoration: underline;
            text-decoration-color: rgba(0, 0, 0, 0.2);

            &:hover {
                text-decoration-color: inherit;
            }
        }
    }

    .dimensionSlot {
        cursor: pointer;
        min-height: 50px;
        border: 1px dashed #bbb;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #666;
    }

    .VariableSlots {
        display: flex;
        flex-direction: column;
        gap: 1em;
    }

    .DimensionSlotHeader {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
}

.EditorExportTab {
    .DownloadButtons {
        display: flex;
        flex-direction: column;
        gap: 4px;
        align-items: flex-start;
    }
}

.ColorableItem {
    display: flex;
    align-items: center;

    > div {
        margin-right: 0.5em;
    }
}

.VariableSelector {
    .modal-dialog {
        min-width: 800px;
        max-width: 90vw;
    }

    .modal-body > div {
        display: flex !important;
        justify-content: space-between;
    }

    .selectedData {
        min-width: 25%;
        padding-left: 1em;
        max-height: 550px;
        overflow-y: auto;
    }

    .searchResults h5 {
        color: #666;
        font-size: 1rem;
        padding-bottom: 5px;
        border-bottom: 1px solid #ccc;
    }

    .searchResults ul {
        display: flex;
        flex-wrap: wrap;
    }

    .searchResults b {
        color: orange;
    }

    ul {
        padding: 0;
    }

    li {
        list-style-type: none;
        flex: 1 0 15em;
        min-height: 32px;
    }

    li > .form-check {
        width: 100%;
        margin-bottom: 0;
    }

    input[type="search"] {
        width: 100%;
        font-size: 0.9em;
        padding: 0.4em;
        margin-bottom: 0.4em;
        border: 1px solid #ccc;
    }

    .muted-option {
        opacity: 0.55;
    }

    .icon {
        color: #999;
        margin-right: 5px;
    }

    .badge {
        background-color: #999;
        border-radius: 2px;
        text-transform: uppercase;
        font-size: 10px;
        font-weight: 700;
        padding: 3px 4px;
        color: white;
        margin-left: 4px;
    }
}

.ListItem {
    display: flex;
    justify-content: space-between;
    align-items: center;

    > div {
        display: flex;
        align-items: center;
    }

    &.invalid {
        background: #fce9e6;
    }
}

.EditableListItem {
    @extend .draggable;
    display: flex;
    justify-content: space-between;
    align-items: center;

    > div {
        display: flex;
        align-items: center;
    }

    i {
        font-size: 1.2rem;
        color: #666;
    }

    > div:first-child > * {
        margin-right: 12px;
    }
}

.ColorSchemeEditor {
    padding-left: 0;
    li {
        display: flex;
        align-items: center;

        i {
            font-size: 1.2rem;
            color: #666;
        }

        > * {
            margin-right: 8px;

            &:last-child {
                margin-right: 0;
            }
        }

        .range {
            display: flex;
            flex: 1 0;
            align-items: center;

            span {
                font-size: 0.85em;
                margin: 0 3px;
            }
        }

        .form-group {
            flex: 1 1;
            margin-bottom: 0;
        }
    }
}

.BinLabelView .FieldsRow {
    margin-bottom: 0;
}

.EditorScatterTab,
.EditorMarimekkoTab,
.EditorDataTab {
    .form-group > label {
        margin-bottom: 0.3rem;
    }
}

.EditorDataTab {
    ul.excludedEntities,
    ul.includedEntities {
        padding: 0;

        li {
            list-style-type: none;
            display: inline-flex;
            align-items: center;
            padding: 1em;
            background: white;
            border-radius: 0.5em;
            margin-right: 0.5em;
        }

        .clickable {
            margin-right: 0.2em;
        }
    }

    .btn-clear-selection {
        margin-bottom: 0.7rem;
    }
}

/* Reusable utility classes */

.draggable {
    cursor: move;
    cursor: grab;
    cursor: -moz-grab;
    cursor: -webkit-grab;
    user-select: none;
}

.draggable:active {
    cursor: grabbing;
    cursor: -moz-grabbing;
    cursor: -webkit-grabbing;
}

.clickable {
    cursor: pointer;
    user-select: none;
}

.modalContainer {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: 1040;
    display: flex;
    align-items: center;
    justify-content: center;
}

.FieldsRow {
    display: flex;
    align-items: center;
    margin: 0 0 1em;

    > * {
        padding-right: 1rem;
        margin-bottom: 0 !important;
        flex-grow: 1;
        flex-basis: 0;
    }
}

.AutoTextField {
    .input-group-addon {
        cursor: pointer;
        padding-left: 8px;
        padding-top: 6px;
    }
}

.WithResetButton {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    .form-group {
        margin-bottom: 0;
        width: 100%;
    }

    .ResetToDefaultButton {
        padding: 0;
        font-size: 0.8em;
        color: inherit;

        &:disabled {
            font-style: italic;
        }

        &:not(:disabled) {
            text-decoration: underline;
        }

        &:hover {
            text-decoration: none;
        }
    }
}

.ColorBox {
    width: 2em;
    height: 2em;
    cursor: pointer;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.colorpicker-tooltip {
    .tippy-content {
        padding: 0;

        .sketch-picker {
            box-shadow: none !important;
        }
    }
}

.LoadingBlocker {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    color: white;
    align-items: center;
    justify-content: center;
}

.modal {
    background-color: rgba(0, 0, 0, 0.5);
    overflow-y: auto;
}

.errorMessage {
    // 1 above .ant-modal-mask
    z-index: 2001;
    .modal-dialog {
        max-width: 80%;
    }
}

main:not(.ChartEditorPage):not(.GdocsEditPage) {
    padding: 2em;
}

.chartPreview {
    width: 100%;
    height: auto;
    max-width: 140px;
}

.internalNotes {
    font-size: 13px;
    color: #666;
    margin-top: 6px;
}

.ChartList {
    .topRow {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 1em;

        .form-group {
            margin: 0;
        }

        input {
            width: 500px;
        }
    }
}

.ImportPage {
    .Importer {
        max-width: 1000px;

        input:not([type="submit"]),
        select,
        textarea,
        button {
            @extend .form-control;
        }

        label {
            display: block;
        }

        textarea {
            resize: none;
        }

        .updateWarning {
            margin-top: 20px;
            margin-bottom: 0;
            text-align: center;
            font-size: 1.2em;
            font-weight: bold;
        }

        select.chooseDataset {
            margin-bottom: 20px;
            font-size: 1.2em;
            max-width: 800px;
            margin-left: auto;
            margin-right: auto;
        }
    }

    .ValidationView {
        margin-top: 20px;
    }

    .EditVariable {
        .variableProps > label {
            margin-right: 10px;
            line-height: normal;
        }

        .name,
        .description {
            width: 100%;
        }
    }

    .importProgress {
        background: white;
        border: 1px solid #ccc;
        border-radius: 4px;
        padding: 20px;

        .success {
            color: #00a65a;
        }

        .error {
            color: #dd4b39;
        }

        .progressInner {
            overflow: auto;
            margin: 10px;
        }
    }

    section:not(:first-child) {
        margin-top: 0;
    }
}

.VariableEditPage {
    figure {
        width: 100%;
        height: 500px;
    }

    .partial-grapher-configs .FieldsRow {
        align-items: flex-start;
    }
}

.EditableTextarea__actions {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
    margin-top: 8px;
}

.EditableTextarea__save-action {
    margin-right: 8px;
}

.topbar {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1em;
}

.TestEmbedsPage {
    figure,
    iframe {
        border: 0;
        width: 914px;
        height: 400px;
    }

    .row {
        padding: 10px;
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
    }

    h3 {
        width: 50%;
        text-align: center;
        margin: 0;
    }

    nav.pagination {
        width: 100%;
        text-align: center;
    }
}

.VariableEditRow {
    border-bottom: 1px solid #eee;
    padding-bottom: 1em;
    margin-bottom: 1em;

    figure {
        width: 100%;
        height: 500px;
    }
}

// to override the default annoying blue border from bootstrap on file upload
.custom-file-input:focus ~ .custom-file-control {
    box-shadow:
        0 0 0 0.075rem #fff,
        0 0 0 0.2rem #fff;
}

.TagBadge {
    display: inline-block;
    border-radius: 5px;
    border: 1px solid #eee;
    font-size: 0.8em;
    background-color: #eee;
    margin-right: 5px;
    margin-bottom: 5px;
}
.TagBadge--is-pending {
    background-color: #fff;
    border-color: #eb8038;
}

.TagBadge__name {
    color: #333;
}

.TagBadge__sorting,
.TagBadge__name,
.TagBadge__approve {
    display: inline-block;
    padding: 6px;
}

.TagBadge__sorting,
.TagBadge__approve {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    background-color: #fff;
    cursor: pointer;
    transition: 0.1s;

    &:hover {
        background-color: #eee;
    }
}

.TagBadge__approve {
    color: #fff;
    background-color: #eb8038;

    &:hover {
        color: #000;
    }
}

.EditableTags__action {
    padding-left: 6px;
    &:focus {
        box-shadow: none;
    }
    svg {
        margin-right: 5px;
    }
}

.redirect-prefix {
    color: #aaa;
    font-size: 13px;
    font-weight: 400;
    text-decoration: none;
}

.add-redirect-form {
    display: flex;
    flex-direction: row;
    align-items: center;

    span,
    button {
        flex: 0;
    }

    input[type="text"] {
        flex: 1;
        font-weight: 700;
        color: #007bff;
    }
}

.DeploysPage {
    .all-published-notice {
        font-size: 18px;
        font-weight: 700;
        color: green;
        margin: 10px 0;

        .icon {
            font-size: 150%;
            vertical-align: middle;
            margin-right: 6px;
        }
    }
}

.DeploysTable {
    width: 100%;
    max-width: 1000px;
    margin: 30px 0;

    tr {
        border-bottom: 1px solid #eee;
    }

    th,
    td {
        padding: 10px;
    }

    th {
        font-size: 12px;
        font-weight: 400;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: #999;
    }

    .cell-status {
        font-weight: 700;
        color: #999;
    }
    .cell-status--pending {
        color: #c36d00;
    }
    .cell-message {
        font-weight: 700;
        color: #333;
    }
    .cell-author,
    .cell-time {
        font-weight: 400;
        color: #777;
    }
}

.BulkDownloadPage {
    section {
        background-color: #f9f9f9;
        padding: 1.2em;
        border-radius: 0.4em;
        margin: 0.4em 0;
        box-shadow:
            0 1px 3px rgba(0, 0, 0, 0.12),
            0 1px 2px rgba(0, 0, 0, 0.24);
    }
}

.GdocsAddForm {
    .GdocsAddForm__instructions {
        margin-left: 8px;
        margin-bottom: 8px;
    }
    .validation-notice {
        display: none;
    }
    input:invalid + .validation-notice {
        display: block;
        margin-top: 4px;
        color: red;
        padding-left: 5px;
        pre {
            color: red;
        }
    }
    // don't show the validation notice when the input is blank (because that counts as "invalid")
    input:placeholder-shown + .validation-notice {
        display: none;
    }
}

.GdocsEditPage,
.GdocsSettingsForm {
    .success {
        color: #52c41a;
    }

    .warning {
        color: #faad14;
    }

    .error {
        color: #ff4d4f;
    }
    .muted {
        color: rgba(0, 0, 0, 0.25);
    }
    h3.form-section-heading {
        color: #757575;
    }
    .form-group:not(:first-child) h3.form-section-heading {
        margin-top: 32px;
    }
}

.GdocsSettingsForm__alert {
    margin-bottom: 8px;
}

.GdocsSettingsContentField__imagePreview {
    margin-top: 12px;
}

.GdocsSettingsContentField__imagePreviewImage {
    display: block;
    width: 100%;
    border: 1px solid #d9d9d9;
    border-radius: 4px;
}

.GdocsEditPage {
    .anticon svg {
        vertical-align: unset; // undo reboot.css
    }

    .ant-tag svg.svg-inline--fa {
        margin-right: 0.5em;
    }

    .admin-bar {
        position: sticky;
        top: 0;
        z-index: 2;
        box-shadow:
            rgba(0, 0, 0, 0.12) 0px 1px 3px,
            rgba(0, 0, 0, 0.24) 0px 1px 2px;
        background: #fff;
        &.draft {
            background: repeating-linear-gradient(
                135deg,
                #f7f7f7,
                #f7f7f7 10px,
                #fff 10px,
                #fff 20px
            );
        }
    }

    .iframe-container {
        height: calc(100% - 65px);
        display: flex;
        justify-content: center;
        background: #f2f2f2;
    }

    .GdocsEditPage__error-container {
        padding: 32px;

        pre {
            white-space: pre-line;
        }
    }
}

.GdocsSettingsForm {
    .edit-in-gdocs {
        position: relative;

        a {
            background-color: rgb(24, 144, 255, 0.8);
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            z-index: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            text-decoration: none;
            transition: all 0.2s;
            opacity: 0;
        }

        &:hover a {
            opacity: 1;
        }
    }
}

.input-group-append,
.input-group-prepend {
    .btn {
        z-index: 0;
    }
}

.PostsIndexPage {
    .button-with-margin {
        margin: 1px;
    }
}

.TagsIndexPage__header {
    display: flex;
    justify-content: space-between;
    p {
        line-height: 32px;
        margin: 0;
    }
}

.TagsIndexPage__add-tag-modal {
    input {
        margin-bottom: 1rem;
        display: block;
    }
}

.ImageIndexPage {
    @media (max-width: 1300px) {
        padding-left: 0 !important;
        padding-right: 0 !important;
        .ant-table-cell {
            padding-left: 4px !important;
            padding-right: 4px !important;
        }
    }
    .ImageIndexPage__delete-user-button {
        border-radius: 50%;
        margin-left: 8px;
        height: 16px;
        font-size: 0.8em;
        align-items: center;
        display: inline-flex;
        width: 16px;
        vertical-align: -2px;
    }

    .ImageIndexPage__update-image-button {
        color: #007bff;
        margin-bottom: 8px;
    }

    .ImageIndexPage__alt-text-editor {
        textarea {
            border-radius: 6px;
            position: relative;
            border: 1px solid #ccc;
            width: 100%;
            &.ImageIndexPage__alt-text-editor--should-autosize {
                field-sizing: content;
            }
        }
    }

    .ImageIndexPage__unsaved-chip {
        color: gray;
        background-color: lightgray;
        padding: 2px 4px;
        border-radius: 3px;
        font-size: 10px;
        text-transform: uppercase;
        display: inline-block;
        top: -2px;
        position: relative;
    }
}

.ImageIndexPage__usage-chip {
    background-color: #ddd;
    padding: 2px 4px;
    display: inline-block;
    border-radius: 50%;
    font-size: 12px;
    font-weight: bold;
    line-height: 12px;
}

.ImageIndexPage__usage-list {
    max-width: 300px;
    padding-left: 16px;
    margin-top: -8px;
    margin-bottom: 0;
}

.DataInsightIndexPage {
    .ant-card-body {
        padding: 8px;

        a {
            color: rgba(0, 0, 0, 0.88);
        }
    }

    img.border {
        border: 1px solid rgb(240, 240, 240) !important;
    }
}

.EditorReferencesTab .ReferencesDataInsights {
    li {
        display: flex;
        gap: 1em;

        a {
            flex-grow: 1;
        }

        button {
            min-width: 144px;
        }
    }
}

.di-modal-content {
    margin: 16px 0 24px 0;

    > div {
        margin-bottom: 12px;
    }

    .side-by-side-preview {
        margin-top: 6px;
    }

    .loading-image.placeholder,
    .loading-image.error {
        width: 350px;
        height: 350px;
        border: 1px solid #f0f0f0;
    }

    .loading-image.placeholder {
        padding: 8px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 16px;
    }

    .loading-image.error {
        font-size: 14px;
        display: block;
        padding: 12px;
    }

    .form {
        margin-top: 24px;

        .form-item.image-alt-text {
            margin-bottom: 0;
        }

        .form-submit {
            margin-top: 24px;
            text-align: right;
        }
    }

    .image-preview {
        margin: 24px 0;

        h3 {
            font-size: 1em;
            font-weight: 400;
            margin-bottom: 12px;
        }
    }

    .feedback-box {
        padding: 24px;
        background: #f5f5f5;
        margin-top: 36px;
        border-radius: 4px;

        h2 {
            font-size: 1em;
            margin-bottom: 12px;
        }

        p {
            margin: 12px 0 0 0;
        }

        ul {
            padding-left: 1em;
            margin: 0;
        }

        li {
            line-height: 1.5;
        }

        li,
        p {
            // add a little margin before the feedback tag
            span:first-of-type {
                margin-right: 12px;
            }
        }

        li + li {
            margin-top: 0.25em;
        }
    }

    .feedback-tag {
        padding: 2px 4px;
        border-radius: 4px;
        border-width: 1px;
        border-style: solid;

        svg {
            margin-right: 4px;
        }

        &.success {
            border-color: rgba(114, 194, 64, 0.6);
            background: rgb(246, 255, 237);

            svg {
                color: rgb(114, 194, 64);
            }
        }

        &.error {
            border-color: rgba(236, 91, 86, 0.6);
            background: rgb(255, 242, 240);

            svg {
                color: rgb(236, 91, 86);
            }
        }
    }
}

// Make the x/y dropdown in the comparison line editor narrow
.comparisonLine .form-group:first-of-type {
    flex-grow: 0;
    flex-basis: 65px;
}

.multi-dim-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f5f5f5;
    border: 2px dashed #d9d9d9;
    color: #8c8c8c;
    font-size: 14px;
    transition: all 0.2s ease;
    border-radius: 4px;
    padding: 8px;
    text-align: center;
    height: 140px;
    width: 200px;

    &:hover {
        border-color: #40a9ff;
        background-color: #f0f8ff;
        color: #40a9ff;
    }
}

.multi-dim-preview-link:hover {
    text-decoration: none;
}

.multi-dim-preview-img {
    height: 140px;
    width: 200px;
}

.ImageReplaceConfirmModal__content {
    margin: 16px 0 24px 0;
}

.ImageReplaceConfirmModal__section {
    margin-bottom: 20px;
}

.ImageReplaceConfirmModal__images-container {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
}

.ImageReplaceConfirmModal__image-wrapper {
    text-align: center;
}

.ImageReplaceConfirmModal__image-label {
    margin-bottom: 8px;
    font-size: 14px;
    color: #666;
}

.ImageReplaceConfirmModal__image {
    max-width: 300px;
    max-height: 300px;
    border: 1px solid #d9d9d9;
    border-radius: 4px;
}

.ImageReplaceConfirmModal__filename {
    margin-top: 8px;
    font-size: 12px;
    color: #999;
}

.ImageReplaceConfirmModal__placeholder {
    width: 300px;
    height: 300px;
    border: 1px solid #d9d9d9;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
}

.ImageReplaceConfirmModal__strong-text {
    font-weight: bold;
}

.table-preview-col {
    min-width: 140px;
    width: 12.5%;
}

.table-preview-col--centered {
    text-align: center;
}
